package ch.hsr.ifs.cdttesting.showoffset; import org.eclipse.ui.IWorkbenchPage; import org.eclipse.ui.PartInitException; import org.eclipse.ui.PlatformUI; import org.eclipse.ui.console.ConsolePlugin; import org.eclipse.ui.console.IConsole; import org.eclipse.ui.console.IConsoleConstants; import org.eclipse.ui.console.IConsoleManager; import org.eclipse.ui.console.IConsoleView; import org.eclipse.ui.console.MessageConsole; import org.eclipse.ui.console.MessageConsoleStream; public class Console { private static final String name = "ShowOffset"; private static MessageConsole findConsole(String name) { ConsolePlugin plugin = ConsolePlugin.getDefault(); IConsoleManager consoleManager = plugin.getConsoleManager(); IConsole[] existing = consoleManager.getConsoles(); for (int i = 0; i < existing.length; i++) { if (name.equals(existing[i].getName())) { return (MessageConsole) existing[i]; } } return createNewConsole(name, consoleManager); } private static MessageConsole createNewConsole(String name, IConsoleManager conMan) { MessageConsole newConsole = new MessageConsole(name, null); conMan.addConsoles(new IConsole[] { newConsole }); return newConsole; } public static void print(String text) { revealConsole(); MessageConsole myConsole = findConsole(name); MessageConsoleStream out = myConsole.newMessageStream(); out.println(text); } private static void revealConsole() { IConsole myConsole = findConsole(name); IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage(); String id = IConsoleConstants.ID_CONSOLE_VIEW; IConsoleView view; try { view = (IConsoleView) page.showView(id); view.display(myConsole); } catch (PartInitException e) { return; } } }